// 导入接口
import { login, userProfile, sysUser } from '@/api/user'
// 导入ck工具
import { getToken, setToken } from '@/utils/auth'

const state = {
  token: getToken() || '',
  userInfo: ''
}
const mutations = {
  // 设置token
  setToken(state, value) {
    state.token = value
    setToken(value)
  },
  // 设置用户信息
  setUserInfo(state, value) {
    state.userInfo = value
  },
  // 清除token
  logout(state) {
    // vuex数据
    state.token = ''
    // cooke数据
    setToken('')
    // 用户信息
    state.userInfo = ''
  }
}
const actions = {
  // 获取token
  async getToken({ commit }, value) {
    const res = await login(value)
    commit('setToken', res.data)

    // console.log(res)
  },
  // 获取用户信息
  async getUserInfo({ commit }) {
    // 完整信息需要俩个接口
    const res = await userProfile()
    const res2 = await sysUser(res.data.userId)
    // console.log(res, res2)
    // 合并获取到的信息
    commit('setUserInfo', { ...res.data, ...res2.data })
  }
}
const getters = {}

export default {
  namespaced: true,
  state,
  mutations,
  actions,
  getters
}
